/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.cip.esymons.eventos.bc;

import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import org.cip.esymons.eventos.be.CalificacionModulo;
import org.cip.esymons.eventos.be.Matricula;

/**
 *
 * @author LizardoR
 */
public class CalificacionModuloDelegate {

    CalificacionModuloFacadeLocal local;

    public CalificacionModuloDelegate() {
        local = lookupCalificacionModuloFacade();
    }

    public void create(CalificacionModulo calificacion) {
        local.create(calificacion);
    }

    public void edit(CalificacionModulo calificacion) {
        local.edit(calificacion);
    }

    public void remove(CalificacionModulo calificacion) {
        local.remove(calificacion);
    }

    public CalificacionModulo find(Object id) {
        return local.find(id);
    }

    public List<CalificacionModulo> findAll() {
        return local.findAll();
    }

    public List<CalificacionModuloAdapter> listarNotas(Integer codCurso, Integer codModulo) {
        return local.listarNotas(codCurso, codModulo);
    }

    public List<CalificacionModulo> listarCalificaciones(Integer codModulo) {
        return local.listarCalificaciones(codModulo);
    }

    public List<CalificacionModulo> listarCalificaciones(Integer codCurso, Integer codModulo) {
        return local.listarCalificaciones(codCurso, codModulo);
    }

    public List<Matricula> listarMatriculasACalificar(Integer codCurso, Integer codModulo) {
        return local.listarMatriculasACalificar(codCurso, codModulo);
    }

    public List<CalificacionModulo> listarAprobados(Integer codCurso, Integer codModulo) {
        return local.listarAprobados(codCurso, codModulo);
    }

    public Double calcularPromedioCurso(Integer curCodigo, long matCodigo) throws Exception {
        return local.calcularPromedioCurso(curCodigo, matCodigo);
    }

    public double calcularPromedioCurso_X_Alumno(Integer curCodigo, long matCodigo) throws Exception {
        return local.calcularPromedioCurso_X_Alumno(curCodigo, matCodigo);
    }

    private CalificacionModuloFacadeLocal lookupCalificacionModuloFacade() {
        try {
            Context c = new InitialContext();
            return (CalificacionModuloFacadeLocal) c.lookup("java:comp/env/CalificacionModuloFacade");
        } catch (NamingException ne) {
            Logger.getLogger(getClass().getName()).log(Level.SEVERE, "exception caught", ne);
            throw new RuntimeException(ne);
        }
    }


}
